import time
from multiprocessing import Process,Queue
"""
进程之间的数据共享（进程通信）
1、在主进程中通过multiprocessing.Queue创建一个队列
2、在创建子进程的时候，将队列当成参数传入各个子进程
3、在子进程中使用队列中的数据

queue.Queue和multiprocessing.Queue有什么区别
queue.Queue：只能在同一个进程中的多个线程之间使用
multiprocessing.Queue：可以在多个进程之间跨进程输出数据（通信）
"""
def work(urls):
    while not urls.empty():
        url=urls.get()
        print(url)
        time.sleep(0.5)

def min():
    urls = Queue()
    for i in range(50):
        urls.put(f'https://www.baidu.com-{i}')
    s_t = time.time()
    ts=[]
    for i in range(4):
        t=Process(target=work,args=(urls,))
        t.start()
        ts.append(t)
    for t in ts:
        t.join()
    e_t = time.time()
    print("运行时间：", e_t - s_t)

if __name__ == '__main__':
    min()